home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Archives / ForCLI / Erase.lha / Erase / src.lha < prev    next >
LHArc Archive  |  1995-08-24  |  7.2 KB

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: LHArc Archive (archive/lha).

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert LHArc Archive (archive/lha) magic Supported
100% file LHarc 1.x/ARX archive data [lh0], with "erase.c" default
99% file data default
100% TrID LHARC/LZARK compressed archive (generic) default
100% siegfried fmt/626 LHA File Format default
100% lsar LZH default
100% gt2 LZH Archiv gefunden (Auflistung ist deaktiviert) default
100% detectItEasy Archive: LHA archive (.LHA)(-lh0-) default
100% xdgMime application/x-lha default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 1d ed 2d 6c 68 30 2d ea | 14 00 00 ea 14 00 00 cd |..-lh0-.|........|
|00000010| 64 07 1f 00 00 07 65 72 | 61 73 65 2e 63 fa 9a 2f |d.....er|ase.c../|
|00000020| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000030| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000040| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000050| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000060| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 0a 20 2a 20 45 |********|***. * E|
|00000070| 72 61 73 65 2e 63 0a 20 | 2a 0a 20 2a 20 45 72 61 |rase.c. |*. * Era|
|00000080| 73 65 20 2d 2d 20 49 74 | 73 20 61 20 68 65 6c 6c |se -- It|s a hell|
|00000090| 75 76 61 20 6c 6f 74 20 | 6d 6f 72 65 20 64 61 6e |uva lot |more dan|
|000000a0| 67 65 72 6f 75 73 20 74 | 68 61 6e 20 64 65 6c 65 |gerous t|han dele|
|000000b0| 74 65 20 3a 29 0a 20 2a | 0a 20 2a 20 41 75 67 75 |te :). *|. * Augu|
|000000c0| 73 74 20 31 39 39 35 2c | 20 4c 65 65 20 4b 69 6e |st 1995,| Lee Kin|
|000000d0| 64 6e 65 73 73 0a 20 2a | 0a 20 2a 2f 0a 0a 2f 2a |dness. *|. */../*|
|000000e0| 20 41 6c 6c 20 74 68 65 | 20 69 6e 63 6c 75 64 65 | All the| include|
|000000f0| 73 20 61 72 65 20 69 6e | 20 74 68 69 73 20 66 69 |s are in| this fi|
|00000100| 6c 65 20 2a 2f 0a 23 69 | 6e 63 6c 75 64 65 20 22 |le */.#i|nclude "|
|00000110| 67 73 74 2e 63 22 0a 0a | 2f 2a 20 53 69 7a 65 20 |gst.c"..|/* Size |
|00000120| 6f 66 20 74 68 65 20 62 | 75 66 66 65 72 20 77 65 |of the b|uffer we|
|00000130| 20 74 61 63 6b 20 6f 6e | 74 6f 20 74 68 65 20 41 | tack on|to the A|
|00000140| 6e 63 68 6f 72 50 61 74 | 68 20 2a 2f 0a 23 64 65 |nchorPat|h */.#de|
|00000150| 66 69 6e 65 20 45 58 54 | 52 41 42 55 46 4c 45 4e |fine EXT|RABUFLEN|
|00000160| 20 32 30 30 0a 0a 2f 2a | 20 53 69 7a 65 20 6f 66 | 200../*| Size of|
|00000170| 20 74 68 65 20 62 75 66 | 66 65 72 20 66 6f 72 20 | the buf|fer for |
|00000180| 66 61 75 6c 74 20 64 69 | 73 70 6c 61 79 20 2a 2f |fault di|splay */|
|00000190| 0a 23 64 65 66 69 6e 65 | 20 46 41 55 4c 54 42 55 |.#define| FAULTBU|
|000001a0| 46 4c 45 4e 20 31 30 32 | 34 0a 0a 2f 2a 20 43 6f |FLEN 102|4../* Co|
|000001b0| 6d 65 6e 74 20 74 68 61 | 74 20 69 73 20 77 72 69 |ment tha|t is wri|
|000001c0| 74 74 65 6e 20 74 6f 20 | 61 6c 6c 20 66 69 6c 65 |tten to |all file|
|000001d0| 73 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 43 4f 4d |s */.#de|fine COM|
|000001e0| 4d 45 4e 54 20 22 3a 2d | 29 20 3a 2d 7c 20 3a 2d |MENT ":-|) :-| :-|
|000001f0| 28 20 3a 2d 7c 20 3a 2d | 29 20 3a 2d 7c 20 3a 2d |( :-| :-|) :-| :-|
|00000200| 28 20 3a 2d 7c 20 3a 2d | 29 20 3a 2d 7c 20 3a 2d |( :-| :-|) :-| :-|
|00000210| 28 20 3a 2d 7c 20 3a 2d | 29 20 3a 2d 7c 20 3a 2d |( :-| :-|) :-| :-|
|00000220| 28 20 3a 2d 7c 20 3a 2d | 29 20 3a 2d 7c 20 3a 2d |( :-| :-|) :-| :-|
|00000230| 28 20 3a 2d 7c 20 22 0a | 0a 2f 2a 20 57 68 61 74 |( :-| ".|./* What|
|00000240| 20 74 6f 20 6f 75 74 70 | 75 74 20 62 65 66 6f 72 | to outp|ut befor|
|00000250| 65 20 74 68 65 20 66 61 | 75 6c 74 20 74 65 78 74 |e the fa|ult text|
|00000260| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 48 45 41 44 | */.#def|ine HEAD|
|00000270| 45 52 20 22 45 72 61 73 | 65 22 0a 0a 2f 2a 20 41 |ER "Eras|e"../* A|
|00000280| 72 67 75 6d 65 6e 74 20 | 74 65 6d 70 6c 61 74 65 |rgument |template|
|00000290| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 54 45 4d 50 | */.#def|ine TEMP|
|000002a0| 4c 41 54 45 20 22 46 49 | 4c 45 2f 4d 2f 41 2c 54 |LATE "FI|LE/M/A,T|
|000002b0| 49 4d 45 53 2f 4b 2f 4e | 22 0a 0a 2f 2a 20 56 65 |IMES/K/N|"../* Ve|
|000002c0| 72 73 69 6f 6e 20 6e 75 | 6d 62 65 72 20 2a 2f 0a |rsion nu|mber */.|
|000002d0| 23 64 65 66 69 6e 65 20 | 56 45 52 53 49 4f 4e 20 |#define |VERSION |
|000002e0| 22 31 2e 31 22 0a 0a 2f | 2a 20 56 65 72 73 69 6f |"1.1"../|* Versio|
|000002f0| 6e 20 74 61 67 20 66 6f | 72 20 43 3a 56 65 72 73 |n tag fo|r C:Vers|
|00000300| 69 6f 6e 20 74 6f 20 70 | 69 63 6b 20 75 70 20 2a |ion to p|ick up *|
|00000310| 2f 0a 63 68 61 72 20 76 | 65 72 74 61 67 5b 5d 20 |/.char v|ertag[] |
|00000320| 3d 20 22 24 56 45 52 3a | 20 45 72 61 73 65 20 22 |= "$VER:| Erase "|
|00000330| 56 45 52 53 49 4f 4e 22 | 20 22 5f 5f 41 4d 49 47 |VERSION"| "__AMIG|
|00000340| 41 44 41 54 45 5f 5f 3b | 0a 0a 2f 2a 20 47 6c 6f |ADATE__;|../* Glo|
|00000350| 62 61 6c 20 70 72 65 66 | 65 72 65 6e 63 65 73 3a |bal pref|erences:|
|00000360| 20 48 6f 77 20 6d 61 6e | 79 20 74 69 6d 65 73 20 | How man|y times |
|00000370| 74 6f 20 6f 76 65 72 77 | 72 69 74 65 20 61 20 66 |to overw|rite a f|
|00000380| 69 6c 65 20 2a 2f 0a 4c | 4f 4e 47 20 74 69 6d 65 |ile */.L|ONG time|
|00000390| 73 3b 0a 0a 2f 2a 20 50 | 72 6f 74 6f 74 79 70 65 |s;../* P|rototype|
|000003a0| 73 20 2a 2f 0a 76 6f 69 | 64 20 45 72 61 73 65 45 |s */.voi|d EraseE|
|000003b0| 72 72 6f 72 28 53 54 52 | 50 54 52 20 6e 61 6d 65 |rror(STR|PTR name|
|000003c0| 2c 20 4c 4f 4e 47 20 63 | 6f 64 65 29 3b 0a 76 6f |, LONG c|ode);.vo|
|000003d0| 69 64 20 45 72 61 73 65 | 44 69 72 28 53 54 52 50 |id Erase|Dir(STRP|
|000003e0| 54 52 20 6e 61 6d 65 2c | 20 73 74 72 75 63 74 20 |TR name,| struct |
|000003f0| 46 69 6c 65 49 6e 66 6f | 42 6c 6f 63 6b 20 2a 66 |FileInfo|Block *f|
|00000400| 69 62 2c 20 42 50 54 52 | 20 70 61 72 65 6e 74 29 |ib, BPTR| parent)|
|00000410| 3b 0a 76 6f 69 64 20 45 | 72 61 73 65 46 69 6c 65 |;.void E|raseFile|
|00000420| 28 53 54 52 50 54 52 20 | 6e 61 6d 65 2c 20 73 74 |(STRPTR |name, st|
|00000430| 72 75 63 74 20 46 69 6c | 65 49 6e 66 6f 42 6c 6f |ruct Fil|eInfoBlo|
|00000440| 63 6b 20 2a 66 69 62 2c | 20 42 50 54 52 20 70 61 |ck *fib,| BPTR pa|
|00000450| 72 65 6e 74 29 3b 0a 76 | 6f 69 64 20 44 6f 50 61 |rent);.v|oid DoPa|
|00000460| 74 74 65 72 6e 28 53 54 | 52 50 54 52 20 70 61 74 |ttern(ST|RPTR pat|
|00000470| 74 65 72 6e 29 3b 0a 0a | 0a 2f 2a 2a 2a 2a 2a 2a |tern);..|./******|
|00000480| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000490| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000004a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000004b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000004c0| 2a 2a 2a 2a 2a 0a 20 2a | 20 45 72 61 73 65 45 72 |*****. *| EraseEr|
|000004d0| 72 6f 72 28 29 20 2d 2d | 20 52 65 70 6f 72 74 20 |ror() --| Report |
|000004e0| 61 6e 20 65 72 72 6f 72 | 20 74 6f 20 74 68 65 20 |an error| to the |
|000004f0| 75 73 65 72 20 0a 20 2a | 2f 0a 76 6f 69 64 20 45 |user . *|/.void E|
|00000500| 72 61 73 65 45 72 72 6f | 72 28 53 54 52 50 54 52 |raseErro|r(STRPTR|
|00000510| 20 6e 61 6d 65 2c 20 4c | 4f 4e 47 20 63 6f 64 65 | name, L|ONG code|
|00000520| 29 0a 7b 0a 09 53 54 52 | 50 54 52 20 68 65 61 64 |).{..STR|PTR head|
|00000530| 65 72 2c 20 62 75 66 66 | 65 72 3b 0a 09 69 66 28 |er, buff|er;..if(|
|00000540| 20 62 75 66 66 65 72 20 | 3d 20 41 6c 6c 6f 63 56 | buffer |= AllocV|
|00000550| 65 63 28 46 41 55 4c 54 | 42 55 46 4c 45 4e 2c 20 |ec(FAULT|BUFLEN, |
|00000560| 4d 45 4d 46 5f 43 4c 45 | 41 52 29 20 29 0a 09 7b |MEMF_CLE|AR) )..{|
|00000570| 0a 09 09 69 66 28 20 21 | 6e 61 6d 65 20 29 0a 09 |...if( !|name )..|
|00000580| 09 09 68 65 61 64 65 72 | 20 3d 20 48 45 41 44 45 |..header| = HEADE|
|00000590| 52 3b 0a 09 09 65 6c 73 | 65 0a 09 09 09 68 65 61 |R;...els|e....hea|
|000005a0| 64 65 72 20 3d 20 6e 61 | 6d 65 3b 0a 09 09 69 66 |der = na|me;...if|
|000005b0| 28 20 46 61 75 6c 74 28 | 63 6f 64 65 2c 20 68 65 |( Fault(|code, he|
|000005c0| 61 64 65 72 2c 20 62 75 | 66 66 65 72 2c 20 46 41 |ader, bu|ffer, FA|
|000005d0| 55 4c 54 42 55 46 4c 45 | 4e 29 20 29 0a 09 09 09 |ULTBUFLE|N) )....|
|000005e0| 50 72 69 6e 74 66 28 22 | 25 73 5c 6e 22 2c 20 62 |Printf("|%s\n", b|
|000005f0| 75 66 66 65 72 29 3b 0a | 09 09 65 6c 73 65 0a 09 |uffer);.|..else..|
|00000600| 09 09 69 66 28 20 6e 61 | 6d 65 29 20 50 72 69 6e |..if( na|me) Prin|
|00000610| 74 66 28 22 43 61 6e 6e | 6f 74 20 65 72 61 73 65 |tf("Cann|ot erase|
|00000620| 20 25 73 5c 6e 22 2c 20 | 6e 61 6d 65 29 3b 0a 09 | %s\n", |name);..|
|00000630| 09 46 72 65 65 56 65 63 | 28 62 75 66 66 65 72 29 |.FreeVec|(buffer)|
|00000640| 3b 0a 09 7d 0a 7d 0a 0a | 0a 2f 2a 2a 2a 2a 2a 2a |;..}.}..|./******|
|00000650| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000660| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000670| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000680| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000690| 2a 2a 2a 2a 2a 0a 20 2a | 20 45 72 61 73 65 44 69 |*****. *| EraseDi|
|000006a0| 72 28 29 20 2d 2d 20 45 | 72 61 73 65 20 61 20 64 |r() -- E|rase a d|
|000006b0| 69 72 65 63 74 6f 72 79 | 20 0a 20 2a 2f 0a 76 6f |irectory| . */.vo|
|000006c0| 69 64 20 45 72 61 73 65 | 44 69 72 28 53 54 52 50 |id Erase|Dir(STRP|
|000006d0| 54 52 20 6e 61 6d 65 2c | 20 73 74 72 75 63 74 20 |TR name,| struct |
|000006e0| 46 69 6c 65 49 6e 66 6f | 42 6c 6f 63 6b 20 2a 66 |FileInfo|Block *f|
|000006f0| 69 62 2c 20 42 50 54 52 | 20 70 61 72 65 6e 74 29 |ib, BPTR| parent)|
|00000700| 0a 7b 0a 09 2f 2a 20 43 | 68 65 63 6b 20 69 74 73 |.{../* C|heck its|
|00000710| 20 6e 6f 74 20 61 20 64 | 69 73 6b 2e 2e 2e 20 2a | not a d|isk... *|
|00000720| 2f 0a 09 69 66 28 20 73 | 74 72 6c 65 6e 28 66 69 |/..if( s|trlen(fi|
|00000730| 62 2d 3e 66 69 62 5f 46 | 69 6c 65 4e 61 6d 65 29 |b->fib_F|ileName)|
|00000740| 20 29 20 0a 09 7b 0a 09 | 09 42 50 54 52 20 6f 6c | ) ..{..|.BPTR ol|
|00000750| 64 64 69 72 3b 0a 09 09 | 73 74 72 75 63 74 20 44 |ddir;...|struct D|
|00000760| 61 74 65 53 74 61 6d 70 | 20 2a 64 73 3b 0a 09 09 |ateStamp| *ds;...|
|00000770| 0a 09 09 6f 6c 64 64 69 | 72 20 3d 20 43 75 72 72 |...olddi|r = Curr|
|00000780| 65 6e 74 44 69 72 28 70 | 61 72 65 6e 74 29 3b 0a |entDir(p|arent);.|
|00000790| 09 09 0a 09 09 2f 2a 20 | 43 6c 65 61 72 20 70 72 |...../* |Clear pr|
|000007a0| 6f 74 65 63 74 69 6f 6e | 20 2a 2f 0a 09 09 53 65 |otection| */...Se|
|000007b0| 74 50 72 6f 74 65 63 74 | 69 6f 6e 28 66 69 62 2d |tProtect|ion(fib-|
|000007c0| 3e 66 69 62 5f 46 69 6c | 65 4e 61 6d 65 2c 30 29 |>fib_Fil|eName,0)|
|000007d0| 3b 0a 09 09 0a 09 09 2f | 2a 20 43 6c 65 61 72 20 |;....../|* Clear |
|000007e0| 43 6f 6d 6d 65 6e 74 20 | 2a 2f 0a 09 09 53 65 74 |Comment |*/...Set|
|000007f0| 43 6f 6d 6d 65 6e 74 28 | 66 69 62 2d 3e 66 69 62 |Comment(|fib->fib|
|00000800| 5f 46 69 6c 65 4e 61 6d | 65 2c 20 43 4f 4d 4d 45 |_FileNam|e, COMME|
|00000810| 4e 54 29 3b 0a 09 09 0a | 09 09 2f 2a 20 43 6c 65 |NT);....|../* Cle|
|00000820| 61 72 20 6d 75 66 73 20 | 6f 77 6e 65 72 73 68 69 |ar mufs |ownershi|
|00000830| 70 20 69 6e 66 6f 72 6d | 61 74 69 6f 6e 20 2a 2f |p inform|ation */|
|00000840| 0a 09 09 69 66 28 20 44 | 4f 53 42 61 73 65 2d 3e |...if( D|OSBase->|
|00000850| 64 6c 5f 6c 69 62 2e 6c | 69 62 5f 56 65 72 73 69 |dl_lib.l|ib_Versi|
|00000860| 6f 6e 20 3e 3d 20 33 39 | 20 29 20 53 65 74 4f 77 |on >= 39| ) SetOw|
|00000870| 6e 65 72 28 66 69 62 2d | 3e 66 69 62 5f 46 69 6c |ner(fib-|>fib_Fil|
|00000880| 65 4e 61 6d 65 2c 20 30 | 29 3b 0a 09 09 0a 09 09 |eName, 0|);......|
|00000890| 2f 2a 20 43 6c 65 61 72 | 20 74 69 6d 65 73 74 61 |/* Clear| timesta|
|000008a0| 6d 70 20 2a 2f 0a 09 09 | 69 66 28 20 64 73 20 3d |mp */...|if( ds =|
|000008b0| 20 41 6c 6c 6f 63 56 65 | 63 28 73 69 7a 65 6f 66 | AllocVe|c(sizeof|
|000008c0| 28 73 74 72 75 63 74 20 | 44 61 74 65 53 74 61 6d |(struct |DateStam|
|000008d0| 70 29 2c 20 4d 45 4d 46 | 5f 43 4c 45 41 52 29 20 |p), MEMF|_CLEAR) |
|000008e0| 29 0a 09 09 7b 0a 09 09 | 09 53 65 74 46 69 6c 65 |)...{...|.SetFile|
|000008f0| 44 61 74 65 28 66 69 62 | 2d 3e 66 69 62 5f 46 69 |Date(fib|->fib_Fi|
|00000900| 6c 65 4e 61 6d 65 2c 20 | 64 73 29 3b 0a 09 09 09 |leName, |ds);....|
|00000910| 46 72 65 65 56 65 63 28 | 64 73 29 3b 0a 09 09 7d |FreeVec(|ds);...}|
|00000920| 0a 09 09 0a 09 09 2f 2a | 20 44 65 6c 65 74 65 20 |....../*| Delete |
|00000930| 74 68 65 20 64 69 72 65 | 63 74 6f 72 79 20 2a 2f |the dire|ctory */|
|00000940| 0a 09 09 69 66 28 20 44 | 65 6c 65 74 65 46 69 6c |...if( D|eleteFil|
|00000950| 65 28 66 69 62 2d 3e 66 | 69 62 5f 46 69 6c 65 4e |e(fib->f|ib_FileN|
|00000960| 61 6d 65 29 20 29 0a 09 | 09 09 50 72 69 6e 74 66 |ame) )..|..Printf|
|00000970| 28 22 25 73 20 65 72 61 | 73 65 64 5c 6e 22 2c 20 |("%s era|sed\n", |
|00000980| 6e 61 6d 65 29 3b 0a 09 | 09 65 6c 73 65 0a 09 09 |name);..|.else...|
|00000990| 09 45 72 61 73 65 45 72 | 72 6f 72 28 6e 61 6d 65 |.EraseEr|ror(name|
|000009a0| 2c 20 49 6f 45 72 72 28 | 29 29 3b 0a 09 09 0a 09 |, IoErr(|));.....|
|000009b0| 09 43 75 72 72 65 6e 74 | 44 69 72 28 6f 6c 64 64 |.Current|Dir(oldd|
|000009c0| 69 72 29 3b 0a 09 7d 0a | 7d 0a 0a 0a 2f 2a 2a 2a |ir);..}.|}.../***|
|000009d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000009e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000009f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000a00| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000a10| 2a 2a 2a 2a 2a 2a 2a 2a | 0a 20 2a 20 45 72 61 73 |********|. * Eras|
|00000a20| 65 46 69 6c 65 28 29 20 | 2d 2d 20 45 72 61 73 65 |eFile() |-- Erase|
|00000a30| 20 61 20 66 69 6c 65 20 | 0a 20 2a 2f 0a 76 6f 69 | a file |. */.voi|
|00000a40| 64 20 45 72 61 73 65 46 | 69 6c 65 28 53 54 52 50 |d EraseF|ile(STRP|
|00000a50| 54 52 20 6e 61 6d 65 2c | 20 73 74 72 75 63 74 20 |TR name,| struct |
|00000a60| 46 69 6c 65 49 6e 66 6f | 42 6c 6f 63 6b 20 2a 66 |FileInfo|Block *f|
|00000a70| 69 62 2c 20 42 50 54 52 | 20 70 61 72 65 6e 74 29 |ib, BPTR| parent)|
|00000a80| 0a 7b 0a 09 42 50 54 52 | 20 6f 6c 64 64 69 72 3b |.{..BPTR| olddir;|
|00000a90| 0a 09 73 74 72 75 63 74 | 20 44 61 74 65 53 74 61 |..struct| DateSta|
|00000aa0| 6d 70 20 2a 64 73 3b 0a | 09 4c 4f 4e 47 20 69 2c |mp *ds;.|.LONG i,|
|00000ab0| 20 6e 3b 0a 09 42 50 54 | 52 20 66 69 6c 65 3b 0a | n;..BPT|R file;.|
|00000ac0| 09 0a 09 6f 6c 64 64 69 | 72 20 3d 20 43 75 72 72 |...olddi|r = Curr|
|00000ad0| 65 6e 74 44 69 72 28 70 | 61 72 65 6e 74 29 3b 0a |entDir(p|arent);.|
|00000ae0| 09 0a 09 2f 2a 20 43 6c | 65 61 72 20 70 72 6f 74 |.../* Cl|ear prot|
|00000af0| 65 63 74 69 6f 6e 20 2a | 2f 0a 09 53 65 74 50 72 |ection *|/..SetPr|
|00000b00| 6f 74 65 63 74 69 6f 6e | 28 66 69 62 2d 3e 66 69 |otection|(fib->fi|
|00000b10| 62 5f 46 69 6c 65 4e 61 | 6d 65 2c 30 29 3b 0a 09 |b_FileNa|me,0);..|
|00000b20| 0a 09 2f 2a 20 43 6c 65 | 61 72 20 43 6f 6d 6d 65 |../* Cle|ar Comme|
|00000b30| 6e 74 20 2a 2f 0a 09 53 | 65 74 43 6f 6d 6d 65 6e |nt */..S|etCommen|
|00000b40| 74 28 66 69 62 2d 3e 66 | 69 62 5f 46 69 6c 65 4e |t(fib->f|ib_FileN|
|00000b50| 61 6d 65 2c 20 43 4f 4d | 4d 45 4e 54 29 3b 0a 09 |ame, COM|MENT);..|
|00000b60| 0a 09 2f 2a 20 43 6c 65 | 61 72 20 6d 75 66 73 20 |../* Cle|ar mufs |
|00000b70| 6f 77 6e 65 72 73 68 69 | 70 20 69 6e 66 6f 72 6d |ownershi|p inform|
|00000b80| 61 74 69 6f 6e 20 2a 2f | 0a 09 69 66 28 20 44 4f |ation */|..if( DO|
|00000b90| 53 42 61 73 65 2d 3e 64 | 6c 5f 6c 69 62 2e 6c 69 |SBase->d|l_lib.li|
|00000ba0| 62 5f 56 65 72 73 69 6f | 6e 20 3e 3d 20 33 39 20 |b_Versio|n >= 39 |
|00000bb0| 29 20 53 65 74 4f 77 6e | 65 72 28 66 69 62 2d 3e |) SetOwn|er(fib->|
|00000bc0| 66 69 62 5f 46 69 6c 65 | 4e 61 6d 65 2c 20 30 29 |fib_File|Name, 0)|
|00000bd0| 3b 0a 09 0a 09 2f 2a 20 | 43 6c 65 61 72 20 74 69 |;..../* |Clear ti|
|00000be0| 6d 65 73 74 61 6d 70 20 | 2a 2f 0a 09 69 66 28 20 |mestamp |*/..if( |
|00000bf0| 64 73 20 3d 20 41 6c 6c | 6f 63 56 65 63 28 73 69 |ds = All|ocVec(si|
|00000c00| 7a 65 6f 66 28 73 74 72 | 75 63 74 20 44 61 74 65 |zeof(str|uct Date|
|00000c10| 53 74 61 6d 70 29 2c 20 | 4d 45 4d 46 5f 43 4c 45 |Stamp), |MEMF_CLE|
|00000c20| 41 52 29 20 29 0a 09 7b | 0a 09 09 53 65 74 46 69 |AR) )..{|...SetFi|
|00000c30| 6c 65 44 61 74 65 28 66 | 69 62 2d 3e 66 69 62 5f |leDate(f|ib->fib_|
|00000c40| 46 69 6c 65 4e 61 6d 65 | 2c 20 64 73 29 3b 0a 09 |FileName|, ds);..|
|00000c50| 09 46 72 65 65 56 65 63 | 28 64 73 29 3b 0a 09 7d |.FreeVec|(ds);..}|
|00000c60| 0a 09 0a 09 2f 2a 20 43 | 6c 65 61 72 20 66 69 6c |..../* C|lear fil|
|00000c70| 65 20 63 6f 6e 74 65 6e | 74 73 20 27 74 69 6d 65 |e conten|ts 'time|
|00000c80| 73 27 20 74 69 6d 65 73 | 20 2a 2f 0a 09 66 6f 72 |s' times| */..for|
|00000c90| 28 6e 20 3d 20 30 3b 20 | 6e 20 3c 20 74 69 6d 65 |(n = 0; |n < time|
|00000ca0| 73 3b 20 6e 2b 2b 29 20 | 7b 0a 09 09 69 66 28 20 |s; n++) |{...if( |
|00000cb0| 66 69 6c 65 20 3d 20 4f | 70 65 6e 28 66 69 62 2d |file = O|pen(fib-|
|00000cc0| 3e 66 69 62 5f 46 69 6c | 65 4e 61 6d 65 2c 20 4d |>fib_Fil|eName, M|
|00000cd0| 4f 44 45 5f 4f 4c 44 46 | 49 4c 45 29 20 29 20 7b |ODE_OLDF|ILE) ) {|
|00000ce0| 0a 09 09 09 53 65 65 6b | 28 66 69 6c 65 2c 20 30 |....Seek|(file, 0|
|00000cf0| 2c 20 4f 46 46 53 45 54 | 5f 42 45 47 49 4e 49 4e |, OFFSET|_BEGININ|
|00000d00| 47 29 3b 0a 09 09 09 66 | 6f 72 28 69 20 3d 20 30 |G);....f|or(i = 0|
|00000d10| 3b 20 69 20 3c 20 66 69 | 62 2d 3e 66 69 62 5f 53 |; i < fi|b->fib_S|
|00000d20| 69 7a 65 3b 20 69 2b 2b | 29 0a 09 09 09 09 46 50 |ize; i++|).....FP|
|00000d30| 75 74 43 28 66 69 6c 65 | 2c 20 6e 29 3b 0a 09 09 |utC(file|, n);...|
|00000d40| 09 43 6c 6f 73 65 28 66 | 69 6c 65 29 3b 0a 09 09 |.Close(f|ile);...|
|00000d50| 7d 0a 09 7d 0a 09 0a 09 | 2f 2a 20 53 65 74 20 66 |}..}....|/* Set f|
|00000d60| 69 6c 65 20 73 69 7a 65 | 20 74 6f 20 7a 65 72 6f |ile size| to zero|
|00000d70| 20 2a 2f 0a 09 69 66 28 | 20 66 69 6c 65 20 3d 20 | */..if(| file = |
|00000d80| 4f 70 65 6e 28 66 69 62 | 2d 3e 66 69 62 5f 46 69 |Open(fib|->fib_Fi|
|00000d90| 6c 65 4e 61 6d 65 2c 20 | 4d 4f 44 45 5f 4f 4c 44 |leName, |MODE_OLD|
|00000da0| 46 49 4c 45 29 20 29 20 | 7b 0a 09 09 53 65 74 46 |FILE) ) |{...SetF|
|00000db0| 69 6c 65 53 69 7a 65 28 | 66 69 6c 65 2c 20 4f 46 |ileSize(|file, OF|
|00000dc0| 46 53 45 54 5f 42 45 47 | 49 4e 49 4e 47 2c 20 30 |FSET_BEG|INING, 0|
|00000dd0| 29 3b 0a 09 09 43 6c 6f | 73 65 28 66 69 6c 65 29 |);...Clo|se(file)|
|00000de0| 3b 0a 09 7d 0a 09 0a 09 | 2f 2a 20 44 65 6c 65 74 |;..}....|/* Delet|
|00000df0| 65 20 74 68 65 20 66 69 | 6c 65 20 2a 2f 0a 09 69 |e the fi|le */..i|
|00000e00| 66 28 20 44 65 6c 65 74 | 65 46 69 6c 65 28 66 69 |f( Delet|eFile(fi|
|00000e10| 62 2d 3e 66 69 62 5f 46 | 69 6c 65 4e 61 6d 65 29 |b->fib_F|ileName)|
|00000e20| 20 29 0a 09 09 50 72 69 | 6e 74 66 28 22 25 73 20 | )...Pri|ntf("%s |
|00000e30| 65 72 61 73 65 64 5c 6e | 22 2c 20 6e 61 6d 65 29 |erased\n|", name)|
|00000e40| 3b 0a 09 65 6c 73 65 0a | 09 09 45 72 61 73 65 45 |;..else.|..EraseE|
|00000e50| 72 72 6f 72 28 6e 61 6d | 65 2c 20 49 6f 45 72 72 |rror(nam|e, IoErr|
|00000e60| 28 29 29 3b 0a 09 0a 09 | 43 75 72 72 65 6e 74 44 |());....|CurrentD|
|00000e70| 69 72 28 6f 6c 64 64 69 | 72 29 3b 0a 7d 0a 0a 09 |ir(olddi|r);.}...|
|00000e80| 0a 2f 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |./******|********|
|00000e90| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000ea0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000eb0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000ec0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 0a 20 2a |********|*****. *|
|00000ed0| 20 44 6f 50 61 74 74 65 | 72 6e 28 29 20 2d 2d 20 | DoPatte|rn() -- |
|00000ee0| 50 61 72 73 65 20 61 6e | 64 20 74 72 61 76 65 72 |Parse an|d traver|
|00000ef0| 73 65 20 74 68 65 20 70 | 61 74 74 65 72 6e 20 0a |se the p|attern .|
|00000f00| 20 2a 2f 0a 76 6f 69 64 | 20 44 6f 50 61 74 74 65 | */.void| DoPatte|
|00000f10| 72 6e 28 53 54 52 50 54 | 52 20 70 61 74 74 65 72 |rn(STRPT|R patter|
|00000f20| 6e 29 0a 7b 0a 09 73 74 | 72 75 63 74 20 41 6e 63 |n).{..st|ruct Anc|
|00000f30| 68 6f 72 50 61 74 68 20 | 2a 61 70 3b 0a 09 69 66 |horPath |*ap;..if|
|00000f40| 28 20 61 70 20 3d 20 41 | 6c 6c 6f 63 56 65 63 28 |( ap = A|llocVec(|
|00000f50| 73 69 7a 65 6f 66 28 73 | 74 72 75 63 74 20 41 6e |sizeof(s|truct An|
|00000f60| 63 68 6f 72 50 61 74 68 | 29 20 2b 20 45 58 54 52 |chorPath|) + EXTR|
|00000f70| 41 42 55 46 4c 45 4e 2c | 20 4d 45 4d 46 5f 43 4c |ABUFLEN,| MEMF_CL|
|00000f80| 45 41 52 29 20 29 0a 09 | 7b 0a 09 09 4c 4f 4e 47 |EAR) )..|{...LONG|
|00000f90| 20 72 65 74 3b 0a 09 09 | 61 70 2d 3e 61 70 5f 42 | ret;...|ap->ap_B|
|00000fa0| 72 65 61 6b 42 69 74 73 | 20 3d 20 53 49 47 42 52 |reakBits| = SIGBR|
|00000fb0| 45 41 4b 46 5f 43 54 52 | 4c 5f 43 3b 0a 09 09 61 |EAKF_CTR|L_C;...a|
|00000fc0| 70 2d 3e 61 70 5f 53 74 | 72 6c 65 6e 20 3d 20 45 |p->ap_St|rlen = E|
|00000fd0| 58 54 52 41 42 55 46 4c | 45 4e 3b 0a 09 09 61 70 |XTRABUFL|EN;...ap|
|00000fe0| 2d 3e 61 70 5f 46 6c 61 | 67 73 20 3d 20 41 50 46 |->ap_Fla|gs = APF|
|00000ff0| 5f 44 4f 57 49 4c 44 3b | 0a 09 09 0a 09 09 72 65 |_DOWILD;|......re|
|00001000| 74 20 3d 20 4d 61 74 63 | 68 46 69 72 73 74 28 70 |t = Matc|hFirst(p|
|00001010| 61 74 74 65 72 6e 2c 20 | 61 70 29 3b 0a 09 09 77 |attern, |ap);...w|
|00001020| 68 69 6c 65 28 20 21 72 | 65 74 20 29 0a 09 09 7b |hile( !r|et )...{|
|00001030| 0a 09 09 09 69 66 28 20 | 61 70 2d 3e 61 70 5f 49 |....if( |ap->ap_I|
|00001040| 6e 66 6f 2e 66 69 62 5f | 44 69 72 45 6e 74 72 79 |nfo.fib_|DirEntry|
|00001050| 54 79 70 65 20 3e 20 30 | 20 29 0a 09 09 09 7b 0a |Type > 0| )....{.|
|00001060| 09 09 09 09 69 66 28 20 | 21 28 61 70 2d 3e 61 70 |....if( |!(ap->ap|
|00001070| 5f 46 6c 61 67 73 20 26 | 20 41 50 46 5f 44 49 44 |_Flags &| APF_DID|
|00001080| 44 49 52 29 20 29 0a 09 | 09 09 09 09 61 70 2d 3e |DIR) )..|....ap->|
|00001090| 61 70 5f 46 6c 61 67 73 | 20 7c 3d 20 41 50 46 5f |ap_Flags| |= APF_|
|000010a0| 44 4f 44 49 52 3b 0a 09 | 09 09 09 65 6c 73 65 0a |DODIR;..|...else.|
|000010b0| 09 09 09 09 7b 0a 09 09 | 09 09 09 61 70 2d 3e 61 |....{...|...ap->a|
|000010c0| 70 5f 46 6c 61 67 73 20 | 26 3d 20 21 41 50 46 5f |p_Flags |&= !APF_|
|000010d0| 44 49 44 44 49 52 3b 0a | 09 09 09 09 09 45 72 61 |DIDDIR;.|.....Era|
|000010e0| 73 65 44 69 72 28 28 53 | 54 52 50 54 52 29 26 61 |seDir((S|TRPTR)&a|
|000010f0| 70 2d 3e 61 70 5f 42 75 | 66 2c 20 26 61 70 2d 3e |p->ap_Bu|f, &ap->|
|00001100| 61 70 5f 49 6e 66 6f 2c | 20 61 70 2d 3e 61 70 5f |ap_Info,| ap->ap_|
|00001110| 43 75 72 72 65 6e 74 2d | 3e 61 6e 5f 4c 6f 63 6b |Current-|>an_Lock|
|00001120| 29 3b 0a 09 09 09 09 7d | 0a 09 09 09 7d 20 65 6c |);.....}|....} el|
|00001130| 73 65 0a 09 09 09 09 45 | 72 61 73 65 46 69 6c 65 |se.....E|raseFile|
|00001140| 28 28 53 54 52 50 54 52 | 29 26 61 70 2d 3e 61 70 |((STRPTR|)&ap->ap|
|00001150| 5f 42 75 66 2c 20 26 61 | 70 2d 3e 61 70 5f 49 6e |_Buf, &a|p->ap_In|
|00001160| 66 6f 2c 20 61 70 2d 3e | 61 70 5f 43 75 72 72 65 |fo, ap->|ap_Curre|
|00001170| 6e 74 2d 3e 61 6e 5f 4c | 6f 63 6b 29 3b 0a 0a 09 |nt->an_L|ock);...|
|00001180| 09 09 72 65 74 20 3d 20 | 4d 61 74 63 68 4e 65 78 |..ret = |MatchNex|
|00001190| 74 28 61 70 29 3b 0a 09 | 09 7d 0a 09 09 4d 61 74 |t(ap);..|.}...Mat|
|000011a0| 63 68 45 6e 64 28 61 70 | 29 3b 0a 09 09 72 65 74 |chEnd(ap|);...ret|
|000011b0| 20 3d 20 49 6f 45 72 72 | 28 29 3b 0a 09 09 69 66 | = IoErr|();...if|
|000011c0| 28 20 72 65 74 20 21 3d | 20 45 52 52 4f 52 5f 4e |( ret !=| ERROR_N|
|000011d0| 4f 5f 4d 4f 52 45 5f 45 | 4e 54 52 49 45 53 20 29 |O_MORE_E|NTRIES )|
|000011e0| 0a 09 09 09 45 72 61 73 | 65 45 72 72 6f 72 28 4e |....Eras|eError(N|
|000011f0| 55 4c 4c 2c 20 72 65 74 | 29 3b 0a 09 09 0a 09 09 |ULL, ret|);......|
|00001200| 46 72 65 65 56 65 63 28 | 61 70 29 3b 0a 09 7d 0a |FreeVec(|ap);..}.|
|00001210| 7d 0a 0a 0a 2f 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |}.../***|********|
|00001220| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001230| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001240| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001250| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001260| 0a 20 2a 20 6d 61 69 6e | 28 29 20 2d 2d 0a 20 2a |. * main|() --. *|
|00001270| 2f 0a 69 6e 74 20 6d 61 | 69 6e 28 69 6e 74 20 61 |/.int ma|in(int a|
|00001280| 72 67 63 2c 20 63 68 61 | 72 20 2a 2a 61 72 67 76 |rgc, cha|r **argv|
|00001290| 29 0a 7b 0a 09 73 74 72 | 75 63 74 20 52 44 41 72 |).{..str|uct RDAr|
|000012a0| 67 73 20 2a 72 64 61 72 | 67 73 3b 0a 09 4c 4f 4e |gs *rdar|gs;..LON|
|000012b0| 47 20 72 65 74 3b 0a 09 | 23 64 65 66 69 6e 65 20 |G ret;..|#define |
|000012c0| 4f 50 54 5f 46 49 4c 45 | 20 30 0a 09 23 64 65 66 |OPT_FILE| 0..#def|
|000012d0| 69 6e 65 20 4f 50 54 5f | 54 49 4d 45 53 20 31 0a |ine OPT_|TIMES 1.|
|000012e0| 09 4c 4f 4e 47 20 61 72 | 67 73 5b 32 5d 20 3d 20 |.LONG ar|gs[2] = |
|000012f0| 7b 30 2c 20 30 7d 3b 0a | 09 2f 2a 20 50 61 72 73 |{0, 0};.|./* Pars|
|00001300| 65 20 74 68 65 20 61 72 | 67 75 6d 65 6e 74 20 74 |e the ar|gument t|
|00001310| 65 6d 70 6c 61 74 65 20 | 2a 2f 0a 09 69 66 20 28 |emplate |*/..if (|
|00001320| 72 64 61 72 67 73 20 3d | 20 52 65 61 64 41 72 67 |rdargs =| ReadArg|
|00001330| 73 28 54 45 4d 50 4c 41 | 54 45 2c 20 28 4c 4f 4e |s(TEMPLA|TE, (LON|
|00001340| 47 20 2a 29 26 61 72 67 | 73 2c 20 4e 55 4c 4c 29 |G *)&arg|s, NULL)|
|00001350| 29 20 7b 0a 09 09 53 54 | 52 50 54 52 20 73 3b 0a |) {...ST|RPTR s;.|
|00001360| 09 0a 09 09 69 66 28 20 | 61 72 67 73 5b 4f 50 54 |....if( |args[OPT|
|00001370| 5f 54 49 4d 45 53 5d 20 | 29 20 7b 0a 09 09 09 74 |_TIMES] |) {....t|
|00001380| 69 6d 65 73 20 3d 20 2a | 28 28 4c 4f 4e 47 20 2a |imes = *|((LONG *|
|00001390| 29 61 72 67 73 5b 4f 50 | 54 5f 54 49 4d 45 53 5d |)args[OP|T_TIMES]|
|000013a0| 29 3b 0a 09 09 7d 20 65 | 6c 73 65 0a 09 09 09 74 |);...} e|lse....t|
|000013b0| 69 6d 65 73 20 3d 20 31 | 3b 0a 09 09 69 66 28 20 |imes = 1|;...if( |
|000013c0| 74 69 6d 65 73 20 3c 20 | 30 20 29 0a 09 09 09 74 |times < |0 )....t|
|000013d0| 69 6d 65 73 20 3d 20 31 | 3b 0a 09 09 0a 09 09 73 |imes = 1|;......s|
|000013e0| 20 3d 20 2a 28 28 53 54 | 52 50 54 52 20 2a 29 61 | = *((ST|RPTR *)a|
|000013f0| 72 67 73 5b 4f 50 54 5f | 46 49 4c 45 5d 29 3b 0a |rgs[OPT_|FILE]);.|
|00001400| 09 09 77 68 69 6c 65 28 | 20 28 73 29 20 26 26 20 |..while(| (s) && |
|00001410| 28 2a 73 29 20 29 20 0a | 09 09 7b 0a 09 09 09 2f |(*s) ) .|..{..../|
|00001420| 2a 20 41 63 74 20 6f 6e | 20 74 68 65 20 70 61 74 |* Act on| the pat|
|00001430| 74 65 72 6e 20 2a 2f 0a | 09 09 09 44 6f 50 61 74 |tern */.|...DoPat|
|00001440| 74 65 72 6e 28 73 29 3b | 0a 09 09 09 0a 09 09 09 |tern(s);|........|
|00001450| 2f 2a 20 47 65 74 20 74 | 68 65 20 6e 65 78 74 20 |/* Get t|he next |
|00001460| 73 74 72 69 6e 67 20 69 | 6e 20 74 68 65 20 61 72 |string i|n the ar|
|00001470| 72 61 79 20 2a 2f 0a 09 | 09 09 73 20 3d 20 73 74 |ray */..|..s = st|
|00001480| 72 63 68 72 28 73 2c 27 | 5c 30 27 29 3b 0a 09 09 |rchr(s,'|\0');...|
|00001490| 09 73 2b 2b 3b 0a 09 09 | 7d 0a 09 09 0a 09 09 46 |.s++;...|}......F|
|000014a0| 72 65 65 41 72 67 73 28 | 72 64 61 72 67 73 29 3b |reeArgs(|rdargs);|
|000014b0| 0a 09 09 72 65 74 20 3d | 20 30 3b 0a 09 7d 20 65 |...ret =| 0;..} e|
|000014c0| 6c 73 65 0a 09 09 72 65 | 74 20 3d 20 32 30 3b 0a |lse...re|t = 20;.|
|000014d0| 09 0a 09 69 66 28 20 72 | 65 74 20 29 0a 09 09 45 |...if( r|et )...E|
|000014e0| 72 61 73 65 45 72 72 6f | 72 28 4e 55 4c 4c 2c 20 |raseErro|r(NULL, |
|000014f0| 49 6f 45 72 72 28 29 29 | 3b 0a 0a 09 72 65 74 75 |IoErr())|;...retu|
|00001500| 72 6e 20 72 65 74 3b 0a | 7d 1b 9f 2d 6c 68 30 2d |rn ret;.|}..-lh0-|
|00001510| c1 01 00 00 c1 01 00 00 | 93 59 07 1f 00 00 05 67 |........|.Y.....g|
|00001520| 73 74 2e 63 79 4e 2f 2a | 2a 2a 2a 2a 2a 2a 2a 2a |st.cyN/*|********|
|00001530| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001540| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001550| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001560| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001570| 2a 2a 0a 20 2a 20 67 73 | 74 2e 63 0a 20 2a 0a 20 |**. * gs|t.c. *. |
|00001580| 2a 20 41 6c 6c 20 74 68 | 65 20 69 6e 63 6c 75 64 |* All th|e includ|
|00001590| 65 73 20 66 6f 72 20 45 | 72 61 73 65 2e 63 0a 20 |es for E|rase.c. |
|000015a0| 2a 20 41 6c 6c 20 69 6e | 20 74 68 69 73 20 66 69 |* All in| this fi|
|000015b0| 6c 65 20 74 6f 20 6d 61 | 6b 65 20 47 53 54 20 63 |le to ma|ke GST c|
|000015c0| 72 65 61 74 69 6f 6e 20 | 65 61 73 69 65 72 2e 0a |reation |easier..|
|000015d0| 20 2a 0a 20 2a 20 41 75 | 67 75 73 74 20 31 39 39 | *. * Au|gust 199|
|000015e0| 35 2c 20 a9 4c 65 65 20 | 4b 69 6e 64 6e 65 73 73 |5, .Lee |Kindness|
|000015f0| 2e 20 41 6c 6c 20 72 69 | 67 68 74 73 20 72 65 73 |. All ri|ghts res|
|00001600| 65 72 76 65 64 2e 0a 20 | 2a 0a 20 2a 2f 0a 0a 2f |erved.. |*. */../|
|00001610| 2a 20 41 6d 69 67 61 20 | 68 65 61 64 65 72 73 20 |* Amiga |headers |
|00001620| 2a 2f 0a 23 69 6e 63 6c | 75 64 65 20 3c 65 78 65 |*/.#incl|ude <exe|
|00001630| 63 2f 74 79 70 65 73 2e | 68 3e 0a 23 69 6e 63 6c |c/types.|h>.#incl|
|00001640| 75 64 65 20 3c 65 78 65 | 63 2f 6d 65 6d 6f 72 79 |ude <exe|c/memory|
|00001650| 2e 68 3e 0a 23 69 6e 63 | 6c 75 64 65 20 3c 64 6f |.h>.#inc|lude <do|
|00001660| 73 2f 64 6f 73 61 73 6c | 2e 68 3e 0a 0a 2f 2a 20 |s/dosasl|.h>../* |
|00001670| 41 6d 69 67 61 20 70 72 | 6f 74 6f 74 79 70 65 73 |Amiga pr|ototypes|
|00001680| 20 61 6e 64 20 70 72 61 | 67 6d 61 73 20 2a 2f 0a | and pra|gmas */.|
|00001690| 23 69 6e 63 6c 75 64 65 | 20 3c 70 72 6f 74 6f 2f |#include| <proto/|
|000016a0| 64 6f 73 2e 68 3e 0a 23 | 69 6e 63 6c 75 64 65 20 |dos.h>.#|include |
|000016b0| 3c 70 72 6f 74 6f 2f 65 | 78 65 63 2e 68 3e 0a 0a |<proto/e|xec.h>..|
|000016c0| 2f 2a 20 41 4e 53 49 20 | 43 20 73 74 75 66 66 20 |/* ANSI |C stuff |
|000016d0| 2a 2f 0a 23 69 6e 63 6c | 75 64 65 20 3c 73 74 72 |*/.#incl|ude <str|
|000016e0| 69 6e 67 2e 68 3e 0a 1e | 8a 2d 6c 68 30 2d 23 03 |ing.h>..|.-lh0-#.|
|000016f0| 00 00 23 03 00 00 6f 63 | 07 1f 40 00 08 6d 61 6b |..#...oc|..@..mak|
|00001700| 65 64 69 73 74 46 08 3b | 20 4d 61 6b 65 20 74 68 |edistF.;| Make th|
|00001710| 65 20 45 72 61 73 65 20 | 64 69 73 74 72 69 62 75 |e Erase |distribu|
|00001720| 74 69 6f 6e 0a 3b 20 28 | 74 6f 20 67 65 74 20 6f |tion.; (|to get o|
|00001730| 75 74 20 66 72 6f 6d 20 | 74 68 65 20 63 6f 6d 6d |ut from |the comm|
|00001740| 61 6e 64 73 2c 20 72 65 | 6d 6f 76 65 20 61 6c 6c |ands, re|move all|
|00001750| 20 22 51 55 49 45 54 22 | 2c 20 22 3e 4e 49 4c 3a | "QUIET"|, ">NIL:|
|00001760| 22 20 61 6e 64 20 22 71 | 22 20 66 6c 61 67 73 29 |" and "q|" flags)|
|00001770| 0a 3b 0a 66 61 69 6c 61 | 74 20 32 31 0a 3b 0a 3b |.;.faila|t 21.;.;|
|00001780| 20 63 6c 65 61 6e 75 70 | 0a 64 65 6c 65 74 65 20 | cleanup|.delete |
|00001790| 3e 4e 49 4c 3a 20 23 3f | 2e 6f 20 23 3f 2e 6c 6e |>NIL: #?|.o #?.ln|
|000017a0| 6b 20 51 55 49 45 54 0a | 64 65 6c 65 74 65 20 3e |k QUIET.|delete >|
|000017b0| 4e 49 4c 3a 20 54 3a 45 | 72 61 73 65 23 3f 20 41 |NIL: T:E|rase#? A|
|000017c0| 4c 4c 20 51 55 49 45 54 | 0a 3b 0a 3b 0a 3b 20 4d |LL QUIET|.;.;.; M|
|000017d0| 61 6b 65 20 74 65 6d 70 | 20 64 69 72 20 69 6e 20 |ake temp| dir in |
|000017e0| 54 3a 0a 6d 61 6b 65 64 | 69 72 20 54 3a 45 72 61 |T:.maked|ir T:Era|
|000017f0| 73 65 0a 3b 0a 3b 20 63 | 6f 70 79 20 66 69 6c 65 |se.;.; c|opy file|
|00001800| 73 0a 43 6f 70 79 20 45 | 72 61 73 65 2e 67 75 69 |s.Copy E|rase.gui|
|00001810| 64 65 23 3f 20 45 72 61 | 73 65 20 23 3f 2e 74 78 |de#? Era|se #?.tx|
|00001820| 74 20 23 3f 2e 72 65 61 | 64 6d 65 20 41 4c 4c 20 |t #?.rea|dme ALL |
|00001830| 54 4f 20 54 3a 45 72 61 | 73 65 20 51 55 49 45 54 |TO T:Era|se QUIET|
|00001840| 0a 43 6f 70 79 20 2f 45 | 72 61 73 65 2e 69 6e 66 |.Copy /E|rase.inf|
|00001850| 6f 20 45 72 61 73 65 2e | 72 65 61 64 6d 65 20 46 |o Erase.|readme F|
|00001860| 49 4c 45 5f 49 44 2e 44 | 49 5a 20 54 4f 20 54 3a |ILE_ID.D|IZ TO T:|
|00001870| 20 51 55 49 45 54 0a 3b | 0a 3b 20 43 68 61 6e 67 | QUIET.;|.; Chang|
|00001880| 65 20 74 68 65 20 76 65 | 72 73 69 6f 6e 20 61 6e |e the ve|rsion an|
|00001890| 64 20 64 61 74 65 20 69 | 6e 20 66 69 6c 65 73 0a |d date i|n files.|
|000018a0| 56 65 72 73 69 6f 6e 20 | 45 72 61 73 65 20 3e 45 |Version |Erase >E|
|000018b0| 4e 56 3a 45 56 45 52 0a | 41 73 73 69 67 6e 20 65 |NV:EVER.|Assign e|
|000018c0| 64 66 65 77 3a 20 22 22 | 0a 63 64 20 45 4e 56 3a |dfew: ""|.cd ENV:|
|000018d0| 0a 73 70 6c 61 74 20 2d | 6f 20 22 45 72 61 73 65 |.splat -|o "Erase|
|000018e0| 20 22 20 22 22 20 22 45 | 56 45 52 22 0a 63 64 20 | " "" "E|VER".cd |
|000018f0| 54 3a 45 72 61 73 65 0a | 73 70 6c 61 74 20 2d 6f |T:Erase.|splat -o|
|00001900| 20 22 3c 3c 56 45 52 53 | 49 4f 4e 3e 3e 22 20 22 | "<<VERS|ION>>" "|
|00001910| 24 45 56 45 52 22 20 22 | 45 72 61 73 65 2e 47 75 |$EVER" "|Erase.Gu|
|00001920| 69 64 65 20 45 72 61 73 | 65 2e 72 65 61 64 6d 65 |ide Eras|e.readme|
|00001930| 20 2f 45 72 61 73 65 2e | 72 65 61 64 6d 65 20 2f | /Erase.|readme /|
|00001940| 46 49 4c 45 5f 49 44 2e | 44 49 5a 22 0a 63 64 20 |FILE_ID.|DIZ".cd |
|00001950| 65 64 66 65 77 3a 0a 41 | 73 73 69 67 6e 20 65 64 |edfew:.A|ssign ed|
|00001960| 66 65 77 3a 20 52 45 4d | 4f 56 45 0a 3b 0a 3b 20 |few: REM|OVE.;.; |
|00001970| 61 72 63 68 69 76 65 73 | 0a 6c 68 61 20 2d 61 72 |archives|.lha -ar|
|00001980| 78 7a 71 20 61 20 54 3a | 45 72 61 73 65 2f 73 72 |xzq a T:|Erase/sr|
|00001990| 63 2e 6c 68 61 20 23 3f | 2e 63 20 53 43 4f 50 54 |c.lha #?|.c SCOPT|
|000019a0| 49 4f 4e 53 20 23 3f 6d | 61 6b 65 23 3f 0a 6c 68 |IONS #?m|ake#?.lh|
|000019b0| 61 20 2d 61 72 78 5a 71 | 20 61 20 54 3a 45 72 61 |a -arxZq| a T:Era|
|000019c0| 73 65 2e 6c 68 61 20 74 | 3a 45 72 61 73 65 20 74 |se.lha t|:Erase t|
|000019d0| 3a 65 72 61 73 65 2e 69 | 6e 66 6f 20 74 3a 46 49 |:erase.i|nfo t:FI|
|000019e0| 4c 45 5f 49 44 2e 44 49 | 5a 20 53 3a 43 6f 6e 74 |LE_ID.DI|Z S:Cont|
|000019f0| 61 63 74 0a 3b 0a 3b 0a | 3b 20 63 6c 65 61 6e 75 |act.;.;.|; cleanu|
|00001a00| 70 0a 64 65 6c 65 74 65 | 20 54 3a 45 72 61 73 65 |p.delete| T:Erase|
|00001a10| 20 54 3a 45 72 61 73 65 | 2e 69 6e 66 6f 20 41 4c | T:Erase|.info AL|
|00001a20| 4c 20 51 55 49 45 54 0a | 3b 0a 1f e8 2d 6c 68 30 |L QUIET.|;...-lh0|
|00001a30| 2d 44 00 00 00 44 00 00 | 00 31 57 07 1f 00 00 09 |-D...D..|.1W.....|
|00001a40| 53 43 4f 50 54 49 4f 4e | 53 dc ad 50 41 52 41 4d |SCOPTION|S..PARAM|
|00001a50| 45 54 45 52 53 3d 52 45 | 47 49 53 54 45 52 53 0a |ETERS=RE|GISTERS.|
|00001a60| 4f 50 54 49 4d 49 5a 45 | 0a 4f 50 54 49 4d 49 5a |OPTIMIZE|.OPTIMIZ|
|00001a70| 45 52 53 49 5a 45 0a 4e | 4f 49 43 4f 4e 53 0a 4d |ERSIZE.N|OICONS.M|
|00001a80| 45 4d 4f 52 59 53 49 5a | 45 3d 48 55 47 45 0a 1f |EMORYSIZ|E=HUGE..|
|00001a90| 34 2d 6c 68 30 2d f3 01 | 00 00 f3 01 00 00 b0 59 |4-lh0-..|.......Y|
|00001aa0| 07 1f 00 00 09 73 6d 61 | 6b 65 66 69 6c 65 ca 3b |.....sma|kefile.;|
|00001ab0| 23 2f 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |#/******|********|
|00001ac0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001ad0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001ae0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001af0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 0a 23 20 |********|*****.# |
|00001b00| 2a 20 73 6d 61 6b 65 66 | 69 6c 65 0a 23 20 2a 0a |* smakef|ile.# *.|
|00001b10| 23 20 2a 20 4d 61 6b 65 | 66 69 6c 65 20 66 6f 72 |# * Make|file for|
|00001b20| 20 45 72 61 73 65 0a 23 | 20 2a 0a 23 20 2a 20 41 | Erase.#| *.# * A|
|00001b30| 75 67 75 73 74 20 31 39 | 39 35 2c 20 a9 4c 65 65 |ugust 19|95, .Lee|
|00001b40| 20 4b 69 6e 64 6e 65 73 | 73 2e 20 41 6c 6c 20 72 | Kindnes|s. All r|
|00001b50| 69 67 68 74 73 20 72 65 | 73 65 72 76 65 64 2e 0a |ights re|served..|
|00001b60| 23 20 2a 0a 23 20 2a 2f | 0a 0a 4f 42 4a 53 3d 20 |# *.# */|..OBJS= |
|00001b70| 45 72 61 73 65 2e 6f 0a | 0a 45 72 61 73 65 3a 20 |Erase.o.|.Erase: |
|00001b80| 24 28 4f 42 4a 53 29 20 | 0a 20 20 20 73 63 20 4e |$(OBJS) |. sc N|
|00001b90| 4f 43 48 45 43 4b 41 42 | 4f 52 54 20 6c 69 6e 6b |OCHECKAB|ORT link|
|00001ba0| 20 74 6f 20 45 72 61 73 | 65 20 77 69 74 68 20 3c | to Eras|e with <|
|00001bb0| 3c 0a 24 28 4f 42 4a 53 | 29 0a 3c 0a 0a 45 72 61 |<.$(OBJS|).<..Era|
|00001bc0| 73 65 2e 6f 3a 20 45 72 | 61 73 65 2e 63 20 73 63 |se.o: Er|ase.c sc|
|00001bd0| 6f 70 74 69 6f 6e 73 20 | 49 4e 43 4c 55 44 45 3a |options |INCLUDE:|
|00001be0| 45 72 61 73 65 2e 67 73 | 74 0a 09 73 63 20 45 72 |Erase.gs|t..sc Er|
|00001bf0| 61 73 65 2e 63 20 47 53 | 54 3d 49 4e 43 4c 55 44 |ase.c GS|T=INCLUD|
|00001c00| 45 3a 45 72 61 73 65 2e | 67 73 74 20 4e 4f 4c 49 |E:Erase.|gst NOLI|
|00001c10| 4e 4b 0a 0a 49 4e 43 4c | 55 44 45 3a 45 72 61 73 |NK..INCL|UDE:Eras|
|00001c20| 65 2e 67 73 74 3a 20 67 | 73 74 2e 63 20 73 63 6f |e.gst: g|st.c sco|
|00001c30| 70 74 69 6f 6e 73 20 73 | 6d 61 6b 65 66 69 6c 65 |ptions s|makefile|
|00001c40| 0a 09 73 63 20 67 73 74 | 2e 63 20 4d 41 4b 45 47 |..sc gst|.c MAKEG|
|00001c50| 53 54 3d 49 4e 43 4c 55 | 44 45 3a 45 72 61 73 65 |ST=INCLU|DE:Erase|
|00001c60| 2e 67 73 74 20 49 47 4e | 4f 52 45 3d 31 30 35 20 |.gst IGN|ORE=105 |
|00001c70| 4e 4f 4f 50 54 49 4d 49 | 5a 45 0a 09 64 65 6c 65 |NOOPTIMI|ZE..dele|
|00001c80| 74 65 20 67 73 74 2e 6f | 0a 0a 64 69 73 74 3a 0a |te gst.o|..dist:.|
|00001c90| 09 65 78 65 63 75 74 65 | 20 6d 61 6b 65 64 69 73 |.execute| makedis|
|00001ca0| 74 0a 0a 00 | |t... | |
+--------+-------------------------+-------------------------+--------+--------+